#pragma once
#ifndef TRANSFORMOBJECT_H_
#define TRANSFORMOBJECT_H_

#include "baseobject.h"
#include "vector.h"

namespace EPOC
{
	class TransformObject : public BaseObject
	{
	public:

	//con-/destructors
		TransformObject();
		virtual ~TransformObject();

	// public helper methods
		inline void SetPos( float fX, float fY)	{ m_vPos.m_fX = fX; m_vPos.m_fY = fY;}
		inline void SetPos( Vector2D vPos)		{ m_vPos = vPos;}
		inline void SetPosX( float fX)			{ m_vPos.m_fX = fX;}
		inline void SetPosY( float fY)			{ m_vPos.m_fY = fY;}
		inline Vector2D* GetPos()				{ return &m_vPos;}
		inline float GetPosX()					{ return m_vPos.m_fX;}
		inline float GetPosY()					{ return m_vPos.m_fY;}


		inline void SetScl( float fX, float fY)	{ m_vScl.m_fX = fX; m_vScl.m_fY = fY;}
		inline void SetScl( Vector2D *pScl)		{ m_vScl = *pScl;}
		inline void SetSclX( float fX)			{ m_vScl.m_fX = fX;}
		inline void SetSclY( float fY)			{ m_vScl.m_fY = fY;}
		inline Vector2D* GetScl()				{ return &m_vScl;}
		inline float GetSclX()					{ return m_vScl.m_fX;}
		inline float GetSclY()					{ return m_vScl.m_fY;}

		inline void SetRot(float fDegrees)		{ m_fRot = fDegrees;}
		inline float GetRot()					{ return m_fRot;}
		
	// protected members
	protected:
		float m_fRot;
		Vector2D m_vPos;
		Vector2D m_vScl;
	
	}; // class TransformObject
}; // namespace EPOC

#endif